package exception;


class BaseballException extends Exception{

}

class Foul extends Exception{

}

class Strike extends Exception{

}

abstract class  Inning{
    public Inning() throws BaseballException{

    }

    public void event() throws BaseballException{}

    public abstract void Bat() throws Strike, Foul;

    public void walk(){}

}

class StormException extends Exception {

}

class RainedOut extends StormException {

}

class PopFoul extends Foul {

}
interface Storm{
    public void event() throws RainedOut;

    void rainHard() throws RainedOut;
}

public class StormyInning extends Inning implements Storm{

    public static void main(String[] args) {
        try {
            StormyInning si = new StormyInning();



        } catch (RainedOut rainedOut) {
            rainedOut.printStackTrace();
        } catch (BaseballException e) {
            e.printStackTrace();
        }

    }

    public StormyInning() throws RainedOut,BaseballException {

    }

    public StormyInning(String s) throws Foul,BaseballException{

    }




    @Override
    public void Bat() throws Strike, Foul {

    }

    public void event() {

    }

    public void atBat() throws PopFoul {

    }

    @Override
    public void rainHard() throws RainedOut {

    }
}
